// userActiveTime.js

let inActiveTime = 0;
let lastActiveTime = Date.now();

// 用于追踪是否已经初始化
let isInitialized = false;

// 更新活跃时间
function updateActiveTime() {
  let now = Date.now();
  inActiveTime += now - lastActiveTime;
  lastActiveTime = now;
}

// 初始化计时器
function initialize() {
  if (isInitialized) return; // 如果已经初始化过，就不再重复初始化

  // 监听用户交互事件（PC + 移动端）
  ["mousemove", "keydown", "touchstart", "touchmove"].forEach(event => {
    document.addEventListener(event, updateActiveTime);
  });

  // 页面切换时更新活跃时间，防止误计时
  document.addEventListener("visibilitychange", () => {
    if (document.visibilityState === "hidden") {
      updateActiveTime();
    } else {
      lastActiveTime = Date.now(); // 页面回来时重置起点
    }
  });

  isInitialized = true; // 标记为已初始化
}

// 获取用户活跃时间（毫秒）
export function getUserActiveTime() {
  updateActiveTime(); // 确保获取最新时间
  return inActiveTime; // 返回毫秒单位
}

// 初始化计时器
initialize();
